With the development of the Internet, and in particular with the development of the electronic business (“the e-business”) over the World Wide Web (“the Web”), tools for software application development have appeared which allow simplified building and deployment of data management or e-business applications.
These new development tools also allow developers with little or no programming language expertise to implement end-to-end business system in a given programming language, and also enable developers to implement systems running on traditional transactional platforms, such as CICS or IMS, and accessing legacy data with no need to become mainframe experts.
For example, such application development tools automate the development of business applications by generating application components from existing database definitions. These definitions populate an Information Model which allow the user to formalise high-level specifications via its dedicated entities and to produce a complete operational client/server application.
This software application is produced in the form of source code, that is, a group of statements written in a programming language. Examples of programming languages are, C, C++, Java™, etc. Before the source code can be executed, the statements within the source code must be transformed to object code.
However with this type of software development tool, if a current version of the source code is subsequently modified by a user, for example through a programming language file editor, facilities are not provided for automatically reconciling a modified current version of the source code with a new generated version of the source code which reflects changes in the application information model. The reconciliation process, typically performed “manually”, updates the new source code version based on the modifications made in the current source code version.
Such a “manual” reconciliation process is prone to errors and is also time-consuming.